package org.example.common.utils;

import java.util.Collection;
import java.util.Map;

public class StringUtils extends org.apache.commons.lang3.StringUtils{
    private static final String NULLSTR = "";
    private static final char SEPARATOR = '_';

    public static boolean isEmpty(Collection<?> coll)
    {
        return isNull(coll) || coll.isEmpty();
    }
    //判断一个Collection是否为空， 包含List，Set，Queue  @param coll 要判断的Collection  @return true：非空 false：空
    public static boolean isNotEmpty(Collection<?> coll)
    {
        return !isEmpty(coll);
    }
    //判断一个对象数组是否为空 @param objects 要判断的对象数组  @return true：为空 false：非空
    public static boolean isEmpty(Object[] objects)
    {
        return isNull(objects) || (objects.length == 0);
    }
    //判断一个对象数组是否非空@param objects 要判断的对象数组  @return true：非空 false：空
    public static boolean isNotEmpty(Object[] objects)
    {
        return !isEmpty(objects);
    }

    // 判断一个Map是否为空   @param map 要判断的Map  @return true：为空 false：非空
    public static boolean isEmpty(Map<?, ?> map)
    {
        return isNull(map) || map.isEmpty();
    }

    //判断一个Map是否为空  @param map 要判断的Map  @return true：非空 false：空
    public static boolean isNotEmpty(Map<?, ?> map)
    {
        return !isEmpty(map);
    }

    // 判断一个字符串是否为空串 @param str String  @return true：为空 false：非空
    public static boolean isEmpty(String str) {
        return isNull(str) || NULLSTR.equals(str.trim());
    }

    //判断一个字符串是否为非空串 @param str String  @return true：非空串 false：空串
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    //判断一个对象是否为空 @param Object object  @return true:为空 false:非空
    public static boolean isNull(Object object){
        return object == null;
    }
    //判断一个对象是否非空 @param Object object  @return true:为空 false:非空
    public static boolean isNotNull(Object object){
        return !isNull(object);
    }


}
